package br.com.sovi.resources.autenticacao;

import java.util.HashSet;
import java.util.Set;

import org.openinsula.vulcano.orm.command.DaoCommand;
import org.openinsula.vulcano.orm.dao.query.DaoQuery;
import org.openinsula.vulcano.orm.dao.query.builder.DaoSelect;

import br.com.sovi.persistence.Empresa;
import br.com.sovi.persistence.Usuario;

public class GetUsuariosFromEmpresaByCodigo extends DaoCommand<Set<Usuario>> {
	private static final long serialVersionUID = 1L;

	private String codigo;

	public GetUsuariosFromEmpresaByCodigo(String codigo) {
		this.codigo = codigo;
	}

	@Override
	public Set<Usuario> execute() {
		DaoQuery<Empresa> query = new DaoSelect<Empresa>().all().from(Empresa.class).eq("codigo", codigo).limit(1)
				.toQuery();

		Empresa empresa = dao.findUnique(query);

		if (empresa != null) {
			empresa.getUsuarios().size();

			return empresa.getUsuarios();
		}
		else {
			return new HashSet<Usuario>();
		}
	}
}
